#include "radical_analyzer.h"
#include <map>

// 简化的字根分析实现
std::vector<std::string> RadicalAnalyzer::analyzeCharacter(const std::string& character) {
    // 这里只是一个简化的实现，实际应用中需要从字典文件加载
    static std::map<std::string, std::vector<std::string>> charRadicals = {
        {"人", {"人"}},
        {"工", {"工"}},
        {"智", {"知", "日"}},
        {"能", {"月", "匕"}},
        {"云", {"二", "厶"}},
        {"去", {"土", "厶"}}
    };
    
    auto it = charRadicals.find(character);
    if (it != charRadicals.end()) {
        return it->second;
    }
    
    // 默认返回字符本身作为字根
    return {character};
}

std::string RadicalAnalyzer::getWubiCode(const std::string& character) {
    // 简化的五笔编码映射
    static std::map<std::string, std::string> wubiCodes = {
        {"人", "W"},
        {"工", "A"},
        {"智", "TDKG"},
        {"能", "CECN"},
        {"云", "FCU"},
        {"去", "FCU"}
    };
    
    auto it = wubiCodes.find(character);
    if (it != wubiCodes.end()) {
        return it->second;
    }
    
    // 默认返回空字符串
    return "";
}